package com.tegtech.core.handler;

import java.util.List;

import javax.annotation.PostConstruct;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.tegtech.module.dict.DictValCache;
import com.tegtech.module.dict.domain.DictVal;

import cn.afterturn.easypoi.handler.inter.IExcelDictHandler;

/**
 * Excel数据字典转换处理器
 * @Author Jun
 * @date 2021年4月14日 上午9:20:26
 */
@Component
public class GlobalExcelDictHandler implements IExcelDictHandler {
	
	@Autowired
	private DictValCache dictValCache;
	
	private static DictValCache staticDictValCache;
	
	@PostConstruct
    public void init() {
		staticDictValCache = this.dictValCache;
    }

	@Override
	public String toName(String dict, Object obj, String name, Object value) {
		List<DictVal> dictList = staticDictValCache.findDictData(dict);
		for(DictVal dv : dictList) {
			if(dv.getDictValue().equals(value)) {
				return dv.getDictLabel();
			}
		}
		return null;
	}

	@Override
	public String toValue(String dict, Object obj, String name, Object value) {
		List<DictVal> dictList = staticDictValCache.findDictData(dict);
		for(DictVal dv : dictList) {
			if(dv.getDictLabel().equals(value)) {
				return dv.getDictValue();
			}
		}
		return null;
	}

}
